1. Field of the Invention
Systems for, and methods of, seamlessly playing non-sequential segment from within a digitally encoded video.
2. Description of the Related Art
DVD-Videos released by the major motion picture studios conventionally store a full length motion picture encoded using the H.262/MPEG-2 Part 2 video technologies. DVDs generally provide scene selection and subtitles and/or closed captioning in a plurality of languages. Among other feature some DVDs include multiple camera, angles for a scene, and the capability to play one of a plurality of different content versions (e.g. a director's cut or unrated version and a “R” rated versions). DVD capable devices, such as a DVD player, or a computer DVD drive with a software DVD player, require a DVD drive and a MPEG decoder. Such DVD devices provide for, among other features, fast-forward, fast-rewind, skip-forward or skip-backwards by chapters, turn on/off subtitles, subtitle and audio language selection, camera angle selection, and menu navigation to select, for example, multiple content versions.
While DVDs provide many capabilities and functions exceeding those provided by, for example, conventional linear playback formats, DVD devices do not fully realize the potential of random access video playback capabilities that are synergistically integrated with an externally provided map of a DVD video. Such a map of a DVD video may, for example, identify non-sequential video segments of the DVD video suitable for a 60 minute condensed presentation of the video. In such instances the definition of the beginning and ending video frames of the video segments must be responsive to artistic and seamlessness objective and not be constrained by technical deficiencies. At 29.97 video frames per second, a few video frames with its associated audio are often critical to the editor attempting to define the segments of a presentation from within a DVD video. An editor's artistic and seamlessness objectives require DVD devices capable of discreet begin video frame play and seamless play of non-sequential segment from within the encoded video.
Microsoft Windows 7 provides codecs and libraries to enable play of DVDs with applications built with Microsoft Visual Studio 2008 and above. The Microsoft website recites that “DirectShow provides a component called the DVD Navigator source filter which simplifies DVD navigation tasks in C++. The DVD Navigator has all the capabilities that you find on a full-featured stand-alone DVD player, plus additional capabilities specific to playing DVDs on personal computers. Using the DVD Navigator, C++ and scripting developers can create full-featured DVD applications without referring to the DVD specification. The DVD Navigator, in coordination with the decoder filters, also handles regional management and copyright protection (CSS and analog copy protection), isolating application developers from these details.” However, the DVD Navigator only allows seeking to only certain navigation points in an MPEG encoded video such as a major motion picture released on DVD. These navigation points may only provide access to video frames that are many frames away from an optimal begin play video frame. The DVD Navigator does not have a built-in function for playing from any desired video frame in an MPEG encoded video. This lack of discreet begin video frame play is a material limiting deficiency when attempting to play, from within a DVD video, a consecutive presentation of non-sequential segments that require discreet frame seamless playback.
U.S. Pat. No. 7,139,470, discloses creation of an I-frame index, file to be performed after the MPEG data has been compressed, packetized, and multiplexed. Since the disclosure is limited to the identification of a limited number of predetermined I-frames, the teachings, among other shortcomings, do not provide for a discreet begin video frame play. The disclosure fails to anticipate the need for, or creating, as a separate file from an MPEG stream, seek and step data that facilitates access to I, P, and B frames in the MPEG stream, and for enabling the use of data, created for one release of a movie, on a second release of the same movie.